package com.train.daily.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.train.common.resp.PageResp;
import com.train.daily.dto.token.DailyTrainSkTokenEditDTO;
import com.train.daily.dto.token.DailyTrainSkTokenPageDTO;
import com.train.daily.dto.token.DailyTrainSkTokenValidDTO;
import com.train.daily.dto.token.DailyTrainTokenQueryLeftDTO;
import com.train.daily.po.DailyTrainSkTokenPO;
import com.train.daily.resp.token.DailyTrainSkTokenPageResp;

import java.util.List;

/**
 * @author baitiaojun
 * @description 针对表【dailyTrainSkToken(秒杀令牌)】的数据库操作Service
 * @createDate 2025-03-20 00:19:41
 */
public interface DailyTrainSkTokenService extends IService<DailyTrainSkTokenPO> {

    void editDailyTrainSkToken(DailyTrainSkTokenEditDTO dailyTrainSkTokenAddOrEditDTO);

    PageResp<DailyTrainSkTokenPageResp> pageList(DailyTrainSkTokenPageDTO dailyTrainSkTokenPageDTO);

    void remove(Long id);

    void generateDailyTrainSkToken(String date, List<String> trainCodes);

    void decrementSkToken(DailyTrainSkTokenValidDTO dto);

    Long getSkToken(DailyTrainTokenQueryLeftDTO dto);
}
